---
layout: "default"
title: "CustomLeafReflectable"
description: "Swift documentation for 'CustomLeafReflectable': A type that explicitly supplies its own Mirror but whose
descendant classes are not represented in the Mirror unless they
also override customMirror()."
keywords: "CustomLeafReflectable,protocol,swift,documentation,customMirror"
root: "/v2.0"
---

<div class="intro-declaration"><code class="language-swift">protocol CustomLeafReflectable</code></div>

<div class="discussion comment">
    <p>A type that explicitly supplies its own Mirror but whose
descendant classes are not represented in the Mirror unless they
also override <code>customMirror()</code>.</p>
</div>

<table class="standard">
<tr>
<th id="inheritance">Inheritance</th>
<td>
<code class="inherits">CustomReflectable</code>
<span class="viz"><a href="hierarchy/">View Protocol Hierarchy &rarr;</a></span>
</td>
</tr>



<tr>
<th>Import</th>
<td><code class="language-swift">import Swift</code></td>
</tr>

</table>







<h3>Instance Methods</h3>
<div class="declaration inherited" id="func-custommirror">
<a class="toggle-link" data-toggle="collapse" href="#comment-func-custommirror">func customMirror()</a>
     <span class="required">Required</span>    
<div class="comment collapse" id="comment-func-custommirror"><div class="p">
    <p>Return the <code>Mirror</code> for <code>self</code>.</p>

<p><strong>Note:</strong> If <code>Self</code> has value semantics, the <code>Mirror</code> should be
  unaffected by subsequent mutations of <code>self</code>.</p>

    <h4>Declaration</h4>    
    <code class="language-swift">func customMirror() -&gt; Mirror</code>
    
        <h4>Declared In</h4>
        <a href="../../protocol/CustomReflectable/"><code>CustomReflectable</code></a>    
</div></div>
</div>


